package com.kfm.boot.aspect;

import org.aspectj.lang.annotation.Aspect;

@Aspect // 标注这个类是一个切面
public class AOPDemo {

    // 定义一个切点
//    @Pointcut("execution(* com.kfm.boot.bean.Student.*(..))")
//    public void pt(){}

    // 前置通知, 在方法执行之前执行
//    @Before("pt()")
//    public void before(){
//    }

    // 后置通知
//    @After("pt()")
//    public void after(){
//    }

    // 返回通知
//    @AfterReturning("pt()")
//    public void afterReturning(){
//    }

    // 异常通知
//    @AfterThrowing("pt()")
//    public void afterThrowing(){
//    }

    // 环绕通知, 在方法执行前后都执行
//    @Around("pt()")
//    public void around(ProceedingJoinPoint pjp) throws Throwable {
//        System.out.println("环绕前...");
//        pjp.proceed(); // 方法调用
//        System.out.println("环绕后...");
//
//    }

}
